<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IgH EtherCAT Master: rtdm.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IgH EtherCAT Master
   &#160;<span id="projectnumber">1.5.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('rtdm_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">rtdm.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>RTDM interface.  
<a href="#details">More...</a></p>

<p><a href="rtdm_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__rtdm__context__t.html">ec_rtdm_context_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Context structure for an open RTDM file handle.  <a href="structec__rtdm__context__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ad72dbcf6d0153db1b8d8a58001feed83"><td class="memItemLeft" align="right" valign="top"><a id="ad72dbcf6d0153db1b8d8a58001feed83"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#ad72dbcf6d0153db1b8d8a58001feed83">DEBUG</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ad72dbcf6d0153db1b8d8a58001feed83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 to enable device operations debugging. <br /></td></tr>
<tr class="separator:ad72dbcf6d0153db1b8d8a58001feed83"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a047388d922da118a81feaec0989a3c71"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#a047388d922da118a81feaec0989a3c71">ec_rtdm_open</a> (struct rtdm_dev_context *context, rtdm_user_info_t *user_info, int oflags)</td></tr>
<tr class="memdesc:a047388d922da118a81feaec0989a3c71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver open.  <a href="#a047388d922da118a81feaec0989a3c71">More...</a><br /></td></tr>
<tr class="separator:a047388d922da118a81feaec0989a3c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff426002578c3ae9c5687e4fd8fd238"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#a0ff426002578c3ae9c5687e4fd8fd238">ec_rtdm_close</a> (struct rtdm_dev_context *context, rtdm_user_info_t *user_info)</td></tr>
<tr class="memdesc:a0ff426002578c3ae9c5687e4fd8fd238"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver close.  <a href="#a0ff426002578c3ae9c5687e4fd8fd238">More...</a><br /></td></tr>
<tr class="separator:a0ff426002578c3ae9c5687e4fd8fd238"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad41c0eed8f1d1199f8294532e8d88022"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#ad41c0eed8f1d1199f8294532e8d88022">ec_rtdm_ioctl</a> (struct rtdm_dev_context *context, rtdm_user_info_t *user_info, unsigned int request, void __user *arg)</td></tr>
<tr class="memdesc:ad41c0eed8f1d1199f8294532e8d88022"><td class="mdescLeft">&#160;</td><td class="mdescRight">Driver ioctl.  <a href="#ad41c0eed8f1d1199f8294532e8d88022">More...</a><br /></td></tr>
<tr class="separator:ad41c0eed8f1d1199f8294532e8d88022"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4df98f505b4a74bb76aeb2df2bfe1fda"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#a4df98f505b4a74bb76aeb2df2bfe1fda">ec_rtdm_dev_init</a> (<a class="el" href="rtdm_8h.html#a251d14e127f7590bdf0a6a59acf07777">ec_rtdm_dev_t</a> *rtdm_dev, <a class="el" href="group__ApplicationInterface.html#ga60ec31b46fcf7994c511359402c64baa">ec_master_t</a> *master)</td></tr>
<tr class="memdesc:a4df98f505b4a74bb76aeb2df2bfe1fda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an RTDM device.  <a href="#a4df98f505b4a74bb76aeb2df2bfe1fda">More...</a><br /></td></tr>
<tr class="separator:a4df98f505b4a74bb76aeb2df2bfe1fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d1eee172b955c21345fae5a0aaf0d21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#a4d1eee172b955c21345fae5a0aaf0d21">ec_rtdm_dev_clear</a> (<a class="el" href="rtdm_8h.html#a251d14e127f7590bdf0a6a59acf07777">ec_rtdm_dev_t</a> *rtdm_dev)</td></tr>
<tr class="memdesc:a4d1eee172b955c21345fae5a0aaf0d21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear an RTDM device.  <a href="#a4d1eee172b955c21345fae5a0aaf0d21">More...</a><br /></td></tr>
<tr class="separator:a4d1eee172b955c21345fae5a0aaf0d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aec20337852eaf46576f8f3025202d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rtdm_8c.html#a1aec20337852eaf46576f8f3025202d1">ec_rtdm_mmap</a> (ec_ioctl_context_t *ioctl_ctx, void **user_address)</td></tr>
<tr class="memdesc:a1aec20337852eaf46576f8f3025202d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory-map process data to user space.  <a href="#a1aec20337852eaf46576f8f3025202d1">More...</a><br /></td></tr>
<tr class="separator:a1aec20337852eaf46576f8f3025202d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>RTDM interface. </p>

<p class="definition">Definition in file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a047388d922da118a81feaec0989a3c71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a047388d922da118a81feaec0989a3c71">&#9670;&nbsp;</a></span>ec_rtdm_open()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_rtdm_open </td>
          <td>(</td>
          <td class="paramtype">struct rtdm_dev_context *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rtdm_user_info_t *&#160;</td>
          <td class="paramname"><em>user_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>oflags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Driver open. </p>
<dl class="section return"><dt>Returns</dt><dd>Always zero (success). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>Context. </td></tr>
    <tr><td class="paramname">user_info</td><td>User data. </td></tr>
    <tr><td class="paramname">oflags</td><td>Open flags. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="rtdm_8c_source.html#l00141">141</a> of file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>

</div>
</div>
<a id="a0ff426002578c3ae9c5687e4fd8fd238"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ff426002578c3ae9c5687e4fd8fd238">&#9670;&nbsp;</a></span>ec_rtdm_close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_rtdm_close </td>
          <td>(</td>
          <td class="paramtype">struct rtdm_dev_context *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rtdm_user_info_t *&#160;</td>
          <td class="paramname"><em>user_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Driver close. </p>
<dl class="section return"><dt>Returns</dt><dd>Always zero (success). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>Context. </td></tr>
    <tr><td class="paramname">user_info</td><td>User data. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="rtdm_8c_source.html#l00171">171</a> of file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>

</div>
</div>
<a id="ad41c0eed8f1d1199f8294532e8d88022"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad41c0eed8f1d1199f8294532e8d88022">&#9670;&nbsp;</a></span>ec_rtdm_ioctl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_rtdm_ioctl </td>
          <td>(</td>
          <td class="paramtype">struct rtdm_dev_context *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">rtdm_user_info_t *&#160;</td>
          <td class="paramname"><em>user_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void __user *&#160;</td>
          <td class="paramname"><em>arg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Driver ioctl. </p>
<dl class="section return"><dt>Returns</dt><dd>ioctl() return code. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>Context. </td></tr>
    <tr><td class="paramname">user_info</td><td>User data. </td></tr>
    <tr><td class="paramname">request</td><td>Request. </td></tr>
    <tr><td class="paramname">arg</td><td>Argument. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="rtdm_8c_source.html#l00196">196</a> of file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>

</div>
</div>
<a id="a4df98f505b4a74bb76aeb2df2bfe1fda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4df98f505b4a74bb76aeb2df2bfe1fda">&#9670;&nbsp;</a></span>ec_rtdm_dev_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_rtdm_dev_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="rtdm_8h.html#a251d14e127f7590bdf0a6a59acf07777">ec_rtdm_dev_t</a> *&#160;</td>
          <td class="paramname"><em>rtdm_dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ApplicationInterface.html#ga60ec31b46fcf7994c511359402c64baa">ec_master_t</a> *&#160;</td>
          <td class="paramname"><em>master</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize an RTDM device. </p>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, otherwise a negative error code. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rtdm_dev</td><td>EtherCAT RTDM device. </td></tr>
    <tr><td class="paramname">master</td><td>EtherCAT master. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="rtdm_8c_source.html#l00069">69</a> of file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>

</div>
</div>
<a id="a4d1eee172b955c21345fae5a0aaf0d21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d1eee172b955c21345fae5a0aaf0d21">&#9670;&nbsp;</a></span>ec_rtdm_dev_clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ec_rtdm_dev_clear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="rtdm_8h.html#a251d14e127f7590bdf0a6a59acf07777">ec_rtdm_dev_t</a> *&#160;</td>
          <td class="paramname"><em>rtdm_dev</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clear an RTDM device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rtdm_dev</td><td>EtherCAT RTDM device. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="rtdm_8c_source.html#l00118">118</a> of file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>

</div>
</div>
<a id="a1aec20337852eaf46576f8f3025202d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1aec20337852eaf46576f8f3025202d1">&#9670;&nbsp;</a></span>ec_rtdm_mmap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ec_rtdm_mmap </td>
          <td>(</td>
          <td class="paramtype">ec_ioctl_context_t *&#160;</td>
          <td class="paramname"><em>ioctl_ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>user_address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory-map process data to user space. </p>
<dl class="section return"><dt>Returns</dt><dd>Zero on success, otherwise a negative error code. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ioctl_ctx</td><td>Context. </td></tr>
    <tr><td class="paramname">user_address</td><td>Userspace address. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="rtdm_8c_source.html#l00220">220</a> of file <a class="el" href="rtdm_8c_source.html">rtdm.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_c1346cf4828efdd0d2baf0d391d01b77.html">master</a></li><li class="navelem"><a class="el" href="rtdm_8c.html">rtdm.c</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
